package map;

import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

/**
 * Map的遍历，三种方式
 * 1.遍历所有的key
 * 2.遍历所有的键值对
 * 3.遍历所有的value(相对不常用)
 */
public class MapDemo2 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("语文", 100);
        map.put("数学", 90);
        map.put("英语", 80);
        map.put("物理", 70);
        map.put("化学", 60);
        System.out.println(map);


        /*
        遍历所有的key
        set<k> keyset()
        将当前map中所有的key以一个set集合的形式返回
         */
        Set<String> keyset = map.keySet();
        for (String key : keyset) {
            System.out.println("key:" + key);
        }




        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        for (Map.Entry<String, Integer> e : entrySet) {//e代表每一个键值对
            String key1 = e.getKey();//获取key键
            Integer value = e.getValue();//获取value值
            System.out.println("key:" + key1 + ",value:" + value);
        }

        Collection<Integer> values = map.values();
        for (Integer value : values){
            System.out.println("value:"+value);
        }

        values.forEach(System.out::println);//集合forEach

        map.forEach((k,v)->{ System.out.println( k +":"+ v);});//map的forEach()




















    }
}
